using System;
using System.Collections.Generic;

namespace Example
{
    public interface IFoo
    {
        void VoidMethod();
        void VoidMethodInt(int i);
        int IntMethod();
        int IntMethodInt(int i);
        string StringMethod();
        string StringMethodInt(int i);
        int IntProperty { get; set; }
        int ReadOnlyIntProperty { get; }
        int WriteOnlyIntProperty { set; }
        List<int> IntListProperty { get; set; }
        int this[int i] { get; set; }
        int this[string s] { get; set; }
        event EventHandler EventHandlerEvent;
        int OverloadedMethod();
        int OverloadedMethod(int i);
        int OverloadedMethod(string s);
    }
}
